Random effect variances not available. Returned R2 does not account for random effects.
| Metric | Value |
|---|---|
| AIC | 194.05 |
| AICc | -71.67 |
| BIC | 229.39 |
| R2 (cond.) | |
| R2 (marg.) | 0.00 |
| RMSE | 3.02 |
| Sigma | 3.36 |
For interpretation of performance metrics, please refer to this documentation.
| Parameter | Coefficient | SE | t(-6) |
|---|---|---|---|
| (Intercept) | 55.93 | 1.10 | 50.88 |
| Parameter | Coefficient |
|---|---|
| SD (Intercept: N) | 6.76 |
| SD (block2: N) | 5.17 |
| SD (block3: N) | 7.59 |
| SD (block4: N) | 3.79 |
| SD (block5: N) | 6.07 |
| SD (block6: N) | 4.50 |
| SD (P1: N) | 2.07 |
| Cor (Intercept~block2: N) | -0.88 |
| Cor (Intercept~block3: N) | -0.67 |
| Cor (Intercept~block4: N) | 0.07 |
| Cor (Intercept~block5: N) | -0.71 |
| Cor (Intercept~block6: N) | -0.95 |
| Cor (Intercept~P1: N) | -0.72 |
| Cor (block2~block3: N) | 0.94 |
| Cor (block2~block4: N) | -0.54 |
| Cor (block2~block5: N) | 0.28 |
| Cor (block2~block6: N) | 0.99 |
| Cor (block2~P1: N) | 0.29 |
| Cor (block3~block4: N) | -0.79 |
| Cor (block3~block5: N) | -0.05 |
| Cor (block3~block6: N) | 0.87 |
| Cor (block3~P1: N) | -0.05 |
| Cor (block4~block5: N) | 0.65 |
| Cor (block4~block6: N) | -0.39 |
| Cor (block4~P1: N) | 0.65 |
| Cor (block5~block6: N) | 0.44 |
| Cor (block5~P1: N) | 1.00 |
| Cor (block6~P1: N) | 0.45 |
| SD (Residual) | 3.36 |
To find out more about table summary options, please refer to this documentation.
Error in if (nrow * ncol < n) {: missing value where TRUE/FALSE needed
Random effect variances not available. Returned R2 does not account for random effects. Random effect variances not available. Returned R2 does not account for random effects. Random effect variances not available. Returned R2 does not account for random effects. We fitted a constant (intercept-only) linear mixed model (estimated using REML and nloptwrap optimizer) to predict yield (formula: yield ~ 1). The model included block as random effects (formula: ~block + P + 1 | N). . The model’s intercept is at 55.93 (t(-6) = 50.88). Within this model:
Standardized parameters were obtained by fitting the model on a standardized version of the dataset. 95% Confidence Intervals (CIs) and p-values were computed using a Wald t-distribution approximation.
---
title: "Regression model summary from `{easystats}`"
output:
flexdashboard::flex_dashboard:
theme:
version: 4
# bg: "#101010"
# fg: "#FDF7F7"
primary: "#0054AD"
base_font:
google: Prompt
code_font:
google: JetBrains Mono
params:
model: model
check_model_args: check_model_args
parameters_args: parameters_args
performance_args: performance_args
---
```{r setup, include=FALSE}
library(flexdashboard)
library(easystats)
# Since not all regression model are supported across all packages, make the
# dashboard chunks more fault-tolerant. E.g. a model might be supported in
# `{parameters}`, but not in `{report}`.
#
# For this reason, `error = TRUE`
knitr::opts_chunk$set(
error = TRUE,
out.width = "100%"
)
```
```{r}
# Get user-specified model data
model <- params$model
# Is it supported by `{easystats}`? Skip evaluation of the following chunks if not.
is_supported <- insight::is_model_supported(model)
if (!is_supported) {
unsupported_message <- sprintf(
"Unfortunately, objects of class '%s' are not yet supported in {easystats}.\n
For a list of supported models, see `insight::supported_models()`.",
class(model)[1]
)
}
```
Model fit
=====================================
Column {data-width=700}
-----------------------------------------------------------------------
### Assumption checks
```{r check-model, eval=is_supported, fig.height=10, fig.width=10}
check_model_args <- c(list(model), params$check_model_args)
do.call(performance::check_model, check_model_args)
```
```{r, eval=!is_supported}
cat(unsupported_message)
```
Column {data-width=300}
-----------------------------------------------------------------------
### Indices of model fit
```{r, eval=is_supported}
# `{performance}`
performance_args <- c(list(model), params$performance_args)
table_performance <- do.call(performance::performance, performance_args)
print_md(table_performance, layout = "vertical", caption = NULL)
```
```{r, eval=!is_supported}
cat(unsupported_message)
```
For interpretation of performance metrics, please refer to <a href="https://easystats.github.io/performance/reference/model_performance.html" target="_blank">this documentation</a>.
Parameter estimates
=====================================
Column {data-width=550}
-----------------------------------------------------------------------
### Plot
```{r dot-whisker, eval=is_supported}
# `{parameters}`
parameters_args <- c(list(model), params$parameters_args)
table_parameters <- do.call(parameters::parameters, parameters_args)
plot(table_parameters)
```
```{r, eval=!is_supported}
cat(unsupported_message)
```
Column {data-width=450}
-----------------------------------------------------------------------
### Tabular summary
```{r, eval=is_supported}
print_md(table_parameters, caption = NULL)
```
```{r, eval=!is_supported}
cat(unsupported_message)
```
To find out more about table summary options, please refer to <a href="https://easystats.github.io/parameters/reference/model_parameters.html" target="_blank">this documentation</a>.
Predicted Values
=====================================
Column {data-width=600}
-----------------------------------------------------------------------
### Plot
```{r expected-values, eval=is_supported, fig.height=10, fig.width=10}
# `{modelbased}`
int_terms <- find_interactions(model, component = "conditional", flatten = TRUE)
con_terms <- find_variables(model)$conditional
if (is.null(int_terms)) {
model_terms <- con_terms
} else {
model_terms <- clean_names(int_terms)
int_terms <- unique(unlist(strsplit(clean_names(int_terms), ":", fixed = TRUE)))
model_terms <- c(model_terms, setdiff(con_terms, int_terms))
}
text_modelbased <- lapply(unique(model_terms), function(i) {
grid <- get_datagrid(model, at = i, range = "grid", preserve_range = FALSE)
estimate_expectation(model, data = grid)
})
ggplot2::theme_set(theme_modern())
# all_plots <- lapply(text_modelbased, function(i) {
# out <- do.call(visualisation_recipe, c(list(i), modelbased_args))
# plot(out) + ggplot2::ggtitle("")
# })
all_plots <- lapply(text_modelbased, function(i) {
out <- visualisation_recipe(i, show_data = "none")
plot(out) + ggplot2::ggtitle("")
})
see::plots(all_plots, n_columns = round(sqrt(length(text_modelbased))))
```
```{r, eval=!is_supported}
cat(unsupported_message)
```
Column {data-width=400}
-----------------------------------------------------------------------
### Tabular summary
```{r, eval=is_supported, results="asis"}
for (i in text_modelbased) {
tmp <- print_md(i)
tmp <- gsub("Variable predicted", "\nVariable predicted", tmp)
tmp <- gsub("Predictors modulated", "\nPredictors modulated", tmp)
tmp <- gsub("Predictors controlled", "\nPredictors controlled", tmp)
print(tmp)
}
```
```{r, eval=!is_supported}
cat(unsupported_message)
```
Text reports
=====================================
Column {data-width=500}
-----------------------------------------------------------------------
### Textual summary
```{r, eval=is_supported, results='asis', collapse=TRUE}
# `{report}`
text_report <- report(model)
text_report_performance <- report_performance(model)
gsub("]", ")", gsub("[", "(", text_report, fixed = TRUE), fixed = TRUE)
cat("\n")
gsub("]", ")", gsub("[", "(", text_report_performance, fixed = TRUE), fixed = TRUE)
```
```{r, eval=!is_supported}
cat(unsupported_message)
```
Column {data-width=500}
-----------------------------------------------------------------------
### Model information
```{r, eval=is_supported}
model_info_data <- insight::model_info(model)
model_info_data <- datawizard::data_to_long(as.data.frame(model_info_data))
DT::datatable(model_info_data)
```
```{r, eval=!is_supported}
cat(unsupported_message)
```